Method and apparatus of aligning information element axes

ABSTRACT

A method of retrieving multiple copies of an information element on a display is presented, the method comprising displaying a plurality of information elements along a first axis including a first axial direction thereof, displaying a second plurality of information elements along a second axis including a second axial direction thereof parallel with the second direction, the first axis displaying a first information element thereon, the second axis including the first information element thereon, the first information element on the second axis being not transversally aligned with the first information element displayed on the first axis and displacing at least one of the first axis of information elements and the second axis of information elements to display the first information element from the first axis of information elements adjacent to the first information element from the second axis of information elements.

CROSS-REFERENCES

The present invention relates to and claims priority from U.S.Provisional Patent Application No. 62/515,093, filed Jun. 5, 2017,entitled METHOD AND APPARATUS OF ALIGNING INFORMATION ELEMENT AXES. Thisdocument is incorporated herein by reference.

BACKGROUND OF THE INVENTION 1. Field of the Invention

This invention relates generally to computer systems adapted to manageinformation elements disposed on arrays and axes thereof. The presentinvention more specifically relates to methods and apparatuses fordisplaying, organizing, navigating and aligning information elementsdisposed in arrays and axes thereof.

2. Description of the Related Art

Graphical user interfaces (GUI's) are getting more and more graphicallyrich in displaying documents, icons and other information elements.Lists of documents are increasingly turning into highly graphicalsequences of documents that allow users to infer greater meaning thanfrom prior lists thanks to more graphically complex thumbnails, iconsand file previews arrangements, the large number of documents presentedand the customized ordering of the sequence itself.

Multiple arrays and axes (axes will be used in the text to ease itsreading) of documents may be combined into one common collection ofaxes, chosen by a user or not, and adapted to be shown on a display.

While displaying multiple axes with various quantities of documentsthereon, it may be desirable to let the user scroll them through variousnavigation techniques. The display may be showing only a portion of theaxes at the same time. It may happen that some documents may bedisplayed in multiple axes at once.

It is therefore desirable to provide tools to retrieve a subjectdocument of reference and help the user to find other instances (copies)in the collection of axes.

It is equally desirable to graphically align multiple instances of thesame subject document displayed in a plurality of other axes.

It is also desirable to graphically discriminate axes of documents thatincludes the subject document from other axes that don't include thesubject document.

It is desirable to provide tools to retrieve documents related to thesubject document and graphically find and axially align these relateddocuments in a plurality of axes.

It is equally desirable to axially align timelines of a plurality ofaxes.

It is also desirable to graphically discriminate axes which havedocuments related to the subject document from the axes that do notinclude related documents.

Other deficiencies and opportunities will become apparent to one skilledin the art to which the invention pertains in view of the followingsummary and detailed description with its appended figures.

SUMMARY OF THE INVENTION

It is one aspect of the present invention to alleviate one or more ofthe shortcomings of background art by addressing one or more of theexisting needs in the art.

The following presents a simplified summary of the invention in order toprovide a basic understanding of some aspects of the invention. Thissummary is not an extensive overview of the invention. It is notintended to identify key/critical elements of the invention or todelineate the scope of the invention. Its sole purpose is to presentsome concepts of the invention in a simplified form as a prelude to themore detailed description that is presented later.

The invention is generally described as a method, a system, a deviceand/or a graphical user interface used to represent multiple computerfiles, documents, information elements or other data, hereinafterreferred to documents without limitative intention but to facilitatereading of the text, on axes in an axis-based graphical user interface(GUI).

Aspects of our work provide, in accordance with at least one embodimentthereof, a method and system thereof allowing alignment of a pluralityof axes in respect with a subject reference document.

One aspect of the instant invention provides, in accordance with atleast one embodiment thereof, a method and system thereof allowing achronological alignment of a plurality of axes.

One aspect of the instant invention provides, in accordance with atleast one embodiment thereof, a means for graphically searching otherinstances of a subject document that are found in other axes.

Moreover, one other aspect of the instant invention provides, inaccordance with at least one embodiment thereof, a method and systemthereof allowing the chronological alignment of axes on a basis of aposition where a subject document is located on an axis andchronologically aligning other axes when no other instances of thesubject document is found.

In one aspect of the instant invention, in accordance with at least anembodiment thereof, is allowing an axes-locking mechanism preventing thealignment or centering of the locked axes.

In one other aspect of the present invention, in accordance with atleast an embodiment thereof, provides an indication of the presence ofother instance of a subject reference document outside of a display areaand an indication of the alignment of the axe to the next or previousinstance or reference document.

Another aspect of the present invention, in accordance with at least oneembodiment thereof, provides a mechanism to set a link between twodocuments, giving the possibility to retrieve documents related to adocument of reference.

Another aspect of the present invention provides, in accordance with atleast one embodiment thereof, a mechanism to align related documents inorthogonal axes with the document of reference.

Another aspect of the present invention provides, in accordance with atleast one embodiment thereof, a mechanism to align related documentsover multiple user interface display areas, or windows.

Embodiments of the subject invention, in accordance with embodimentsthereof, can be embodied as a computer system, a method, an operatingsystem and a graphical user interface adapted to manage data anddocuments by juxtaposing the data on axes of documents in a manner suchthat data, documents and axes thereof are parameterizable and usable bya plurality of users and can be displayed according to a selection ofinformation, metadata or attributes as deemed relevant by user or usersin a single-user or networked environment.

Another aspect of our work provides, in accordance with at least oneembodiment thereof, an object-oriented computing system. The computingsystem comprises a processor, a memory coupled to the processor, and aninterface. The computer system comprises a computer-readable storagemedium storing instructions, such as a software program adapted to carryout the embodiments. The instructions that, when executed, provide aprocessor-based system the steps to modify the type and quantity ofinformation used to build and display a document, axis and/or workspaceon a variety of devices including but not limited to computers, mobilephones or tablets.

In another aspect of our work, in accordance with at least oneembodiment thereof, a graphical user interface is provided. Thegraphical user interface displays one or more axes of documents inaccordance with the implementation of a method that manages documentsand the data associated therewith.

An aspect of our work provides, in accordance with at least oneembodiment thereof, a method of aligning axes of information elements,the method comprising displaying a plurality of information elementsalong a first axis including a first axial direction thereof, the firstplurality of information elements having a first commonality thereof,displaying a second plurality of information elements along a secondaxis including a second axial direction thereof, the second plurality ofinformation elements having a second commonality thereof, the first axisdisplaying a first document thereon, the second axis including the firstinformation element thereon, the first information element on the secondaxis being not aligned with the first information element displayed onthe first axis and displacing at least one of the first axis ofinformation elements and the second axis of information elements todisplay the first information element from the first axis of informationelements adjacent to the first information element from the second axisof information elements.

An aspect of our work provides, in accordance with at least oneembodiment thereof, a method of retrieving multiple copies of aninformation element on a display, the method comprising displaying aplurality of information elements along a first axis including a firstaxial direction thereof, displaying a second plurality of informationelements along a second axis including a second axial direction thereofparallel with the second direction, the first axis displaying a firstinformation element thereon, the second axis including the firstinformation element thereon, the first information element on the secondaxis being not transversally aligned with the first information elementdisplayed on the first axis and displacing at least one of the firstaxis of information elements and the second axis of information elementsto display the first information element from the first axis ofinformation elements adjacent to the first information element from thesecond axis of information elements.

An aspect of our work provides, in accordance with at least oneembodiment thereof, a method of performing a relational search, themethod comprising providing a first axis including a plurality ofinformation elements located thereon in accordance with a firstcollation function, each information element being associated with arespective collation position along a longitudinal direction of thefirst axis, providing a second axis including a plurality of informationelements located thereon in accordance with a second collation function,each information element being associated with a respective collationposition, each information element being associated with a respectivecollation position along a longitudinal direction of the first axis,selecting an information element from the first axis, enabling analigning function, searching the second axis for a presence of aninstance of the selected information element, when an instance of theselected information element is found on the second axis, scrolling thesecond axis to locate the instance of the selected information elementnearby the selected information element on the first axis.

Embodiments of the present invention each have at least one of theabove-mentioned objects and/or aspects, but do not necessarily have allof them. It should be understood that some aspects of the presentinvention that have resulted from attempting to attain theabove-mentioned objects may not satisfy these objects and/or may satisfyother objects not specifically recited herein.

Additional and/or alternative features, aspects, and advantages ofembodiments of the present invention will become apparent from thefollowing description, the accompanying drawings, and the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of an exemplary network;

FIG. 2 is a schematic illustration of an alternate exemplary network;

FIG. 3 is a schematic illustration of an exemplary computer system;

FIG. 4 is a schematic illustration of an exemplary software system;

FIG. 5 is a schematic illustration of an axis-based interface andoperating system;

FIG. 6 is a schematic illustration of an exemplary layout of informationelements;

FIG. 7 is a schematic illustration of an exemplary layout of informationelements using a linear timescale and a non-linear timescale;

FIG. 8 is a schematic illustration of a display area comprising multipleaxes of documents disposed in a longitudinal and parallel arrangementwith an active document and another instance thereof in accordance withan exemplary embodiment of the present invention;

FIG. 9 is a schematic illustration of a display area comprising multipleaxes of documents disposed in a longitudinal and parallel arrangementwith an active document and another aligned instance of the activedocument in accordance with an exemplary embodiment of the presentinvention;

FIG. 10 is a schematic illustration of a display area comprisingmultiple axes of documents disposed in a longitudinal and parallelarrangement with an active document and another aligned instance of theactive document in accordance with an exemplary embodiment of thepresent invention;

FIG. 11 is a schematic illustration of a display area comprisingmultiple axes of documents disposed in a longitudinal and parallelarrangement with an active document, another aligned instance of theactive document and an aligned axis in accordance with an exemplaryembodiment of the present invention;

FIG. 12 is an exemplary flowchart describing an embodiment of the logicof the centering and the aligning functions in accordance with anexemplary embodiment of the present invention;

FIG. 13 is a schematic illustration of a display area comprisingmultiple axes of documents disposed in a longitudinal and parallelarrangement with an active document, another aligned instance of theactive document and an aligned axis in accordance with an exemplaryembodiment of the present invention;

FIG. 14 is an exemplary flowchart describing the logic of the axesreordering function in accordance with an exemplary embodiment of thepresent invention;

FIG. 15 is an exemplary flowchart describing the logic of the axesreordering function in accordance with an exemplary embodiment of thepresent invention;

FIG. 16 is a schematic illustration of a display area comprisingmultiple axes of documents disposed in a longitudinal and parallelarrangement with an active document, another aligned instance of theactive document and an aligned axis in accordance with an exemplaryembodiment of the present invention;

FIG. 17 is a schematic illustration of a display area comprisingmultiple axes of documents disposed in a longitudinal and parallelarrangement with an active document, another aligned instance and analigned axis in accordance with an exemplary embodiment of the presentinvention;

FIG. 18 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument and another aligned instance of the active document inaccordance with an exemplary embodiment of the present invention;

FIG. 19 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument and another aligned instance of the active document inaccordance with an exemplary embodiment of the present invention;

FIG. 20 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument and another aligned instance of the active document inaccordance with an exemplary embodiment of the present invention;

FIG. 21 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument and another aligned instance of the active document inaccordance with an exemplary embodiment of the present invention;

FIG. 22 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument and another instance of the active document being identifiedoutside of a display area in accordance with an exemplary embodiment ofthe present invention;

FIG. 23 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument, another aligned instance of the active document and otherinstances of the active document being identified outside of the displayarea in accordance with an exemplary embodiment of the presentinvention;

FIG. 24 is a schematic illustration of an axis of documents and a groupof axes of documents disposed in a longitudinal and parallel arrangementwith an active document and other instances of the active document inaccordance with an exemplary embodiment of the present invention;

FIG. 25 is a schematic illustration of an axis of documents and a groupof axes of documents disposed in a longitudinal and parallel arrangementwith an active document and other instances of the active document withone instance being aligned in accordance with an exemplary embodiment ofthe present invention;

FIG. 26 is a schematic illustration of an axis of documents and a groupof axes of documents disposed in a longitudinal and parallel arrangementwith an active document and other instances of the active document beingaligned in accordance with an exemplary embodiment of the presentinvention;

FIG. 27 is a schematic illustration of an axis of documents and a groupof axes of documents disposed in a longitudinal and parallel arrangementwith an active document, another instance being aligned and anotherinstance being identified outside of the display area in accordance withan exemplary embodiment of the present invention;

FIG. 28 is a schematic illustration of two documents being linked inaccordance with an exemplary embodiment of the present invention;

FIG. 29 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement with an activedocument and a related document being aligned in accordance with anexemplary embodiment of the present invention;

FIG. 30 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement and a subsidiaryaxis of documents disposed orthogonal to the second longitudinal axis ofdocuments with an active document and another instance being aligned inaccordance with an exemplary embodiment of the present invention;

FIG. 31 is a schematic illustration of multiple axes of documentsdisposed in a longitudinal and parallel arrangement and a subsidiaryaxis of documents disposed orthogonal to the second longitudinal axis ofdocuments with an active document and another instance being aligned inaccordance with an exemplary embodiment of the present invention;

FIG. 32 is a schematic illustration of multiple windows comprising axesof documents disposed in a longitudinal and parallel arrangement with anactive document and another instance of the active document inaccordance with an exemplary embodiment of the present invention; and

FIG. 33 is a schematic illustration of multiple windows aligned andcomprising axes of documents disposed in a longitudinal and parallelarrangement with an active document and another aligned instance of theactive document in accordance with an exemplary embodiment of thepresent invention.

DESCRIPTION OF EMBODIMENT(S) OF THE INVENTION

Our work is now described with reference to the figures. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthe present invention by way of embodiment(s). It may be evident,however, that the present invention may be practiced without thesespecific details. In other instances, when applicable, well-knownstructures and devices are shown in block diagram form in order tofacilitate describing the present invention.

The features provided in this specification mainly but might notexclusively relate to principles of computer software andmachine-readable code/instructions adapted to instruct a computer, manycomputers or other machines adapted to use the instructions to providematerial effects on a display, or other means enabling human-computerinteractions to manage documents, menus, user-selectable elements andother computer files. These code/instructions are preferably stored on amachine-readable medium to be read and acted upon with a computer ormachine having the appropriate code/instructions reading capability.

Exemplary Network

FIG. 1 illustrates an exemplary network 10 in which a system and amethod, consistent with the present invention, may be implemented. Thenetwork 10 may include multiple client devices 12 connected to multipleservers 14, 16, 18 via a network 20. The network 20 may include a localarea network (LAN), a wide area network (WAN), a phone network, such asthe Public Switched Phone Network (PSTN), an intranet, the Internet,Wi-Fi, WiMAX or a combination thereof. Two client devices 12 and threeservers 14, 16, 18 have been illustrated as connected to network 20 forsimplicity. In practice, there may be more or less client devices andservers 14, 16, 18. Also, in some instances, a client device 12 mayperform the functions of a server 14, 16, 18 and a server 14, 16, 18 mayperform the functions of a client device 12.

The client devices 12 may include devices such as mainframes,minicomputers, personal computers, laptops, personal digital assistants,phones, or the like, capable of connecting to the network 20. The clientdevices 12 may transmit data over the network 20 or receive data fromthe network 20 via a wired, wireless, or optical connection.

The servers 14-18 may include one or more types of computer systems,such as a mainframe, minicomputer, or personal computer, capable ofconnecting to the network 20 to enable servers 14-18 to communicate withthe client devices 12. In alternative implementations, the servers 14-18may include mechanisms for directly connecting to one or more clientdevices 12. The servers 14-18 may transmit data over the network 20 orreceive data from the network 20 via a wired, wireless, or opticalconnection.

In an implementation, consistent with the present inventionillustratively embodied herein, the servers 14-18 may include a searchengine 22 usable by the client devices 12. The servers 14-18 may storedocuments 200, such as web pages, accessible by the client devices 12.

With reference to FIG. 2, a network 20 includes the content cloud 30, acontent database 32, content devices 34-38, and other devices 40-48. Thenetwork mediator 28 enables network devices 34-48 to communicate witheach other without pre-configuring each device 34-48. The content cloud30 represents a content source such as the Internet, where contentexists at various locations across the globe that could be reachedthrough a wired connection and/or with a wireless connection provided byan antenna 26. The content includes multimedia content such as audio andvideo. The mediator 28 allows the content cloud to provide content todevices 34-48. The database 32 is a storage device 166 that maintainscontent. The database 32 may be a standalone device on an externalcommunication network. The mediator 28 communicates with the database 32to access and retrieve content. The content devices 34-48 includeintelligent devices, such as, for example, personal computers, laptops,cell phones and personal digital assistants. The content devices 34-48are capable of storing content data. The devices 34-48 are intelligentdevices that receive content from other content devices 30-48. However,the devices 34-48 can also operate as servers to distribute content toother client devices if desirable.

Exemplary Client Architecture

The following discussion provides a brief, general description of anexemplary computer apparatus in which at least some aspects of thepresent invention may be implemented. The present invention will bedescribed in the general context of computer-executable instructions,such as program modules 174 being executed by a computerized device.However, methods of the present invention may be affected by otherapparatuses. Program modules may include routines, programs, objects,components, data structures, applets, WEB 2.0 type of evolved networkedcentered applications, etc. that perform a task(s) or implementparticular abstract data types. Moreover, those skilled in the art willappreciate that at least some aspects of the present invention may beimplemented with other configurations, including hand-held devices,multiprocessor system, microprocessor-based or programmable consumerelectronics, network computers, minicomputers, set top boxes, mainframecomputers, gaming consoles and the like. At least some aspects of thepresent invention may also be carried out in distributed computingenvironments where tasks are performed by remote processing deviceslinked through a communications network as exemplified in FIG. 2. In adistributed computing environment, program modules 174 may be located inlocal and/or remote memory storage devices 166.

With reference to FIG. 3, an exemplary apparatus 100 for implementing atleast some aspects of the present invention includes a general-purposecomputing device in the form of a computer 120 or in the form of acomputerized portable apparatus. The computer 120 may include aprocessing unit 121, a system memory 122, and a system bus 123 thatcouples various system components, including the system memory 122, tothe processing unit 121. The system bus 123 may be any of several typesof bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. The system memory may include read only memory (ROM) 124and/or random access memory (RAM) 125. A basic input/output system 126(BIOS), containing basic routines that help to transfer data betweenelements within the computer 120, such as during start-up, may be storedin ROM 124. The computer 120 may also include a hard disk drive 127 forreading from and writing to a hard disk, (not shown), a magnetic diskdrive 128 for reading from or writing to a (e.g., removable) magneticdisk 129, and an optical disk drive 130 for reading from or writing to aremovable (magneto) optical disk 131 such as a compact disk or other(magneto) optical media. The hard disk drive 127, magnetic disk drive128, and (magneto) optical disk drive 130 may be coupled with the systembus 123 by a hard disk drive interface 132, a magnetic disk driveinterface 133, and a (magneto) optical drive interface 134,respectively. The drives and their associated storage media providenon-volatile (or persistent) storage of machine-readable instructions,data structures, program modules 174 and other data for the computer120. Although the exemplary environment described herein employs a harddisk, a removable magnetic disk 129 and a removable optical disk 131,those skilled in the art will appreciate that other types of storagemedia, such as magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, random access memories (RAMs), read onlymemories (ROM), remote cloud storage and the like, may be used insteadof, or in addition to, the storage devices 166 introduced above.

A number of program modules 174 may be stored on the hard disk 127,magnetic disk 129, (magneto) optical disk 131, ROM 124 or RAM 125, suchas an operating system 135 (for example, Windows® NT® 4.0, sold byMicrosoft® Corporation of Redmond, Wash.), one or more applicationprograms 136, other program modules 137 (such as Alice™, which is aresearch system developed by the User Interface Group at Carnegie MellonUniversity available at www.Alice.org, OpenGL® from Silicon GraphicsInc. of Mountain View Calif., or Direct 3D from Microsoft Corp. ofBellevue Wash.), and/or program data 138 for example.

A user may enter commands and data into the computer 120 through inputdevices, such as a keyboard 140, a camera 141 and a pointing device 142.Other input devices (not shown) such as a microphone, joystick, gamepad, satellite dish, scanner, a touch sensitive screen, accelerometersor a motion-sensor detector such as KINECT™ that are adapted to sensemovements of the user or movements of a device, or the like, may also beincluded. These and other input devices are often connected to theprocessing unit 121 through a serial port interface 146 coupled to thesystem bus 123. However, input devices may be connected by otherinterfaces, such as a parallel port, a game port, blue tooth connectionor a universal serial bus (USB). For example, since the bandwidth of thecamera 141 may be too great for the serial port, the video camera 141may be coupled with the system bus 123 via a video capture card (notshown). The video monitor 147 or other type of display device 150 mayalso be connected to the system bus 123 via an interface, such as avideo adapter 148 for example. The video adapter 148 may include agraphics accelerator. One or more speakers 162 may be connected to thesystem bus 123 via a sound card 161 (e.g., a wave table synthesizer suchas product number AWE64 Gold Card from Creative® Labs of Milpitas,Calif.). In addition to the monitor 147 and speaker(s) 162, the computer120 may include other peripheral output devices (not shown), such as aprinter, a hi-definition television and a scanner for example. As analternative or an addition to the video monitor 147, a stereo videooutput device, such as a head mounted display or LCD shutter glasses forexample, could be used.

The computer 120 may operate in a networked environment defining logicalconnections to one or more remote computers 120, such as a remotecomputer 149. The remote computer 149 may be another computer 120, aserver 14-18, a router, a network PC, a peer device or other commonnetwork node, and may include many or all of the elements describedabove relative to the computer 120. The logical connections depicted inFIG. 3 include a local area network (LAN) 151 and a wide area network(WAN) 152, an intranet and the Internet.

When used in a LAN, the computer 120 may be connected to the LAN 151through a network interface adapter (or “NIC”) 153. When used in a WAN,such as the Internet, the computer 120 may include a modem 154 or othermeans for establishing communications over the wide area network 152(e.g. Wi-Fi, WinMax). The modem 154, which may be internal or external,may be connected to the system bus 123 via the serial port interface 146or another type of port interface. In a networked environment, at leastsome of the program modules depicted relative to the computer 120 may bestored in the remote memory storage device 166. The network connectionsshown are exemplary and other means of establishing a communication linkbetween the computers 120 may be used through a host adaptor 155 coupledby a SCSI bus 156, for instance.

The exemplary network and the exemplary computer system described aboveare adapted to carry on the following embodiments:

The System

A system 170 is depicted in FIG. 4 which may represent thefunctionalities described in the instant application when run on anapparatus 100, for instance a computer 120, such as has been previouslydescribed. The computer 120 may in turn be connected to a server 14-18comprising a set of program modules 174 enabling functions including butnot limited to: computing, document rendering, network communication,application configuration and local database management.

The software system 170 illustratively consists of a collection of atleast twelve modules 174 independent from those of the server 14-18 thattogether carry out the method required for the functionalities to bevisible on a graphical user interface and usable by the user. Asillustrated, additional modules 226 may also be used in conjunction withthe twelve base modules.

A computing module 178 provides a means to circulate data between users,the other modules 174 and the apparatus 100. The computing module 178 isadapted to convert queries 230, which may be system-based or user-based,into graphical rendering in accordance with at least one embodiment ofthe present invention. The other modules 174 are configured to send toand receive data from the computing module and to individually orcollectively interact with other modules 174.

An application configuration module 182 provides software configurationto manage application settings and open connections to other servers14-18. Other modules 174 may use the application configuration module182 to manage their behavior to satisfy user-specific needs.

A data elements management module 186 may be used in conjunction withother modules to manage data elements such as documents 200 contained ina database 32 in response to a query 230. The data elements managementmodule 186 may use any kind of database connection and may use a networkcommunication module 190 in order to access a database 32 through anetwork 28, on a server computer 14-18. The network communication module190 may use several protocols in order to communicate with a servercomputer 14-18, such as IPv4, IPv6, TCP, UDP, ODBC, HTTP, WebDAV, SSH,IMAP and even define its own specific communication protocol. The dataelements management module 186 may also be used in conjunction with anemail connectivity module 194 and network communication module 190 inorder to treat and represent emails in the same way as the data elementsof a database 32. The data elements management module 186 may also beused in conjunction with the permissions module 198 (on the client orserver side) in order to control the user access to elements based bysome sort of sharing rules. The data elements management module 186 mayalso work in conjunction with a caches module 202, providing client-sidecached versions of the database 32 and files in order to respond tofuture requests faster. Modules 174 may be made to communicateinformation in a standardized way by the use of an ApplicationProgramming Interface (API) in order to simplify the data elementsmanagement module's 186 interactions with other modules 174.

The data elements management module 186 may sort through documents 200stored in the database 32 and connected to each other via a variety ofreferencing modes, may apply a filter as specified in a query 230 andmay subsequently direct the filtered documents 200 to other modules 174(this will be shown in FIG. 6). One such module may be an axis-orderingmodule 206 which may distribute documents 200 filtered by the dataelements management module 186 onto an axis-like array 288 or axis 292(illustrated in FIG. 6) according to a collation function that may beuser- or system-specified and analyzed by the computing module 178. Anaxis 292 or axis-like array 288 is an embodiment of graphical renderingof the functionalities described in the present specification on adevice's display 150 that can be embodied as a substantially rectilinearsequence of documents 200 from which a viewer can infer meaning and/orrelationships therebetween. An axis 292 or axis-like array 288 isadapted to accommodate and display a single type of documents 200 or, ifdesirable, more than one type of documents 200, computer files,multimedia contents, user-selectable elements and/or user-selectablemenu elements. Generally, an axis 292 is used to graphically groupinformation elements 200 having a commonality. Other functionalitiesrelated to axes 292 shall be described in greater detail below.

The axis-ordering module 206 may manage the ordering of single documents200 and/or several documents 200 assembled into document sets 220 ontoone or more axes 292. In addition of managing the collation of documents200 onto an axis 292, the axis-ordering module 206 may also manage theorder of the documents 200 contained within secondary documents sets 232or subsidiary axis 294 (illustrated in FIG. 7). The positioning module210 manages the positioning of documents 200 within axes 240 based oninteractions with other modules 174 processing the various elementscontained in a query 230. The positioning module 210 is adapted to andmay interpret data contained in document sets 228 generated by the dataelements management module 186 in relationship to the query 230 toidentify a location for a given document set 228 within the collation ofan axis 292. Likewise, a visually distinctive features management module214 is adapted to interpret data contained in documents 200 or documentsets 228 generated by the data elements management module 186 inrelationship to the query 230 to selectively apply one or more visuallydistinctive features 284 (illustrated in FIG. 7) to single documents 200or document sets 228. Finally, a display management module 218 may,inter alia, manage elements related to the user interface 234, possiblyinteracting with a graphics card and a monitor 147. The displaymanagement module 218 may use a document-rendering module 222 thatprovide instructions to render specific documents 200, like images, textfiles, word-processing files, spreadsheet files, presentation files,etc. The document-rendering module 222 may also provide an API to letdevelopers add their own extensions to provide renderers for otherdocument types.

FIG. 5 depicts a computer system 120 comprising an operating system 135with an integrated axis-based user interface 238. As illustrated in FIG.5, the axis-based user interface 238 could serve as a desktopenvironment to manipulate documents 200 (such as files, objects andapplications), or could be used as a main operating system 135 userinterface 234. One can appreciate a hierarchical description of acomputer system 120 and software system 170 with multiple components242. First, hardware 246 is used to provide users with a physical device34-48. Second, the axis-based system could be built on top of anexisting operating system core and kernel 250, such as, for instance,Unix™ or BSD™. A graphics API 254 like OpenGL® could be used also inorder to provide basic graphical capabilities to the system via a videoadapter 148.

Multiple core functionalities could be integrated to provide coreoperating system 135 services. A graphical layer framework component 256could be built over the graphics API component 254, and could be used toprovide complex drawing capabilities. The layer-based graphics layerframework component 256 may also support widgets rendering and handling(like buttons, text fields, dialogs, etc.) A network managementcomponent 260 could be based on pre-existing network managementcapabilities in the operating system core and kernel 250, and could beused as a tool to manage an Internet network connection throughEthernet, Bluetooth, Wi-Fi, Modem and other communication channels. Autility component 264 could handle all the other services needed tocommunicate with the operating system core and kernel 250, providingfunctionalities such as user login, user authentication, memory,disk-access management, etc. Using these modules, the axis-based userinterface 238 would use core functionalities from the graphical layerframework component 256, the network management component 260 and theutility component 264 to provide workspaces 306 comprising multiple axes292 that display documents 200 (not shown in FIG. 5). The axis-baseduser interface 238 may also provide more integrated actions, likeinterface buttons, preview or magnification that may be directlydocketed. Another component, a system preferences management component268 would provide multiple functions needed by the axis-based userinterface 238, such as dialogs to manage document insertion, attributedefinitions, users, permissions, application configuration, etc.Finally, the operating system 135 may comprise a window managementsystem emulation module 272. This module may be based on an X WindowSystem or X11© and may use other existing client application librariesto provide a large number of applications as well as functionalities torun windowed applications on top of the axis-based user interface 238.To provide other functionalities, third-party application providerscould build third-party core modules 276 on top of the axis-based userinterface 238 and system preferences management module 268. Third-partyapplication providers could also develop third-party softwareenvironments 280 and other applications that could be run using thewindow management system emulation 272, providing the user with usefulapplications such as an Internet Browser, Office Business Applications,Multimedia Applications, Games, etc.

The Window Management System Emulation 272 could also provide functionsto provide a more axis-based user interface 238 integration, such as,for example, previews, player and editors for the documents 200displayed in the axis-based user interface 238. For example, a rich textdocument 200 could use a third-party module 276 or third-party softwareenvironment 280 to provide a previewer or media player for the document200, or a third-party application to integrate a live editor on theaxis-based user interface 238.

This computer system 120 could be used, for instance, as a businesssolution to provide users with an axis-based user interface 238operating system 135 directly on multiple kinds of devices 34-48(computers, laptop, tablets, cell phones, etc.). The computer system 120may also illustratively be used as a business solution to sellpreconfigured devices 34-48 with the axis-based user interface 238.Since the operating system 135 has a built-in axis-based user interface238, the device 34-48 is likely to have a display 150 and other inputdevices like a keyboard 140, a mouse 142 or a touch-screen interface.The devices 34-48 may not necessarily provide such parts and may beadapted to be used by communicating information about the user interface240 and input methods with other devices 34-48 (television set, motionsensing input device, computer or tablet over network, cell phone, etc.)

The Interface

FIG. 6 illustrates the interaction of the computer system 120 andsoftware system 170 with an axis-based graphical user interface 238. Aninterface program providing a graphical user interface 234 for managinginformation elements 200 in accordance with an embodiment of theinvention is installed on a machine, e.g. a computer system 120 asillustrated in FIG. 3. The interface 234 can be programmed using variousprogramming languages e.g. C++, Java or other suitable programminglanguages. Programming of these languages is well known in the art andis adapted to be stored on a machine-readable medium and readabletherefrom to provide executable instructions to a hardware system. It isbelieved that a skilled reader in software art is going to recognizethis portion of the system that will therefore not be further describedherein.

The graphical user interface 234 may run through the operating system135 and the hardware 246 of the computer system 120 or, alternatively,through a network-based system e.g. client-server, and/cloud computingsystem as exemplified in FIG. 1 and FIG. 2. The interface 234 is adaptedto display and manage information elements 200, generally provided on abasis of a query 230, which may be stored in one or many databases 32(as illustrated in FIG. 6) that might be distributed in a combination oflocations (e.g. multiple databases, web, cloud, etc.). Informationelements 200 may include computer files, pictures, multimedia content,applications (i.e. computer programs), menu elements, sets of iconsand/or other user-selectable elements, all of which shall henceforth beindiscriminately referred to as documents 200 to lighten the textwithout limiting the scope of the present invention.

An axis-based graphical interface 238 is adapted to graphicallystructure documents 200 in arrays 288 that arrange the documents 200 inrows and/or columns in a reasonably regular fashion and to allownavigation thereof by the user further to a query 230. The axis-basedlayout and ordering is adapted to provide the user with informationabout the content of each document 200, its meaning and itsrelationships to the other documents 200 disposed on the axis 292.Navigation tools are provided with the axis-based user interface 238 toallow navigation through the documents 200 of a single axis 292 and ofvarious axes 292 when a plurality of axes 292 is enabled. The display ofdocuments 200 on an array 288, or axis 292, therefore allows contextualmanagement of documents 200 as a flow, or an ongoing rational sequenceof documents 200. An axis-based interface 238 thus helps to intuitivelydisplay a group of documents 200 and facilitate understanding andmanaging of large sequences of documents 200 bearing a relation.

In a simplified exemplary form, an array 288 may be embodied as an axisof documents 292 (hereinbelow referred to as axis 292 to lighten thetext), which groups documents 200 in a single row or column, asillustrated in FIG. 6. An axis 292 can be embodied as a substantiallyrectilinear arrangement of documents 200 adapted to dispose eachdocument 200 on a straight or curved line, in various embodimentsthereof. The axis 292 can be embodied as completely straight(rectilinear), slightly curved, substantially curved, circular, angled,following a particular shape or have a consistent shape over whichdocuments 200 are disposed in a reasonably consistent fashion. The exactshape of the axis 292 can vary as well as its disposition—horizontal,vertical or other—in relation to the device's display 150. What matters,inter alia, is that the layout structure of an axis 292 provides asequence of documents 200 from which a viewer can infer meaning, logicalconnections, contextual location, and/or relationships.

The axis 292 can be represented as a single axis 292, a double axis 292,or more axes 292. Axes 292 may be independent from one another (usingdistinct scales, or orderings, henceforth referred to as collationfunctions 300) or may form a group of axes 310 by sharing the same scaleor collation function 300. Also, a document 200, attribute 296 or otherproperty of an element contained in an axis 292 can be selected and usedas a logical connector to create an additional axis 292 from an existingaxis 292. This subsidiary axis 294 is meant to be temporary in someembodiments, serving as a way to view a specific set of additionaldocuments 200 or highlight certain documents 200 from the original axis292 without having to alter the entire workspace 306. It may originatefrom the logical connector document 200, or information element 200, andbe disposed in non-parallel fashion thereto. The subsidiary axis's 294position is preferably orthogonal to the original axis 292 but the anglemay vary. Like axes 292, logically connected subsidiary axes 294 may bescrollable. More such logically connected subsidiary axes 294 cansubsequently be created in the same fashion. Navigation among axes 292and subsidiary axes 294 could be called “relational navigation”.

Axes 292 may be disposed horizontally and/or vertically. Groups of axes310 may be presented using one of the layouts or combining both. Theaxes 292 presented in the embodiments below are generally illustrated inthe horizontal layout configurations. However, they could, all or inmajority, be disposed vertically without departing from the scope of thepresent disclosure. Other possible graphical layouts of documents 200might become obvious to a skilled reader in light of the presentapplication and would be considered within the scope of thisapplication.

When only a portion of the axis 292 is visible, a play of zoom, pan andscrolling movements along the axis 292 allows a user to navigate theaxis 292 and change the series of documents 200 that is displayed in thedisplay area 314 of the display 150. Scrolling movements can beperformed in a variety of ways including but not limited toclick-and-drag, pressing on the keys of a keyboard, gesturing to amotion-sensor or on a touch-screen.

Documents 200 might overlap or decrease in size to fit or maximize thespace available in the display area 314 in embodiments thereof. Selecteddocuments 200 on an axis 292 can be magnified to increase the level ofdetail shown. Similarly, a small display area 314 could display only onedocument 200 out of the entire axis 292. The remaining documents 200would not be displayed in the display area 314 but would yet remain attheir respective “virtual” position on the axis 292, ready to bedisplayed upon scrolling the axis 292. In other words, if we consider amobile platform like a mobile phone having a small display 150, thesmall display 150 might only allow to efficiently display one document200 or a few documents at a time. However, the displayed document 200being part of an axis 292, the other documents 200 on the axis 292 wouldremain displayable in accordance with their respective position on theaxis 292 when the axis is scrolled, navigated, gestured.

The documents 200 are selected to be disposed on the axis 292 based onone or more attributes 296, and are ordered thereon according to acollation function 300, namely an ordered arrangement made bycomparison, e.g. a chronological order adapted to use a time scale 318.The attribute(s) and collation function parameters are specified in aquery 230 that may be run by a user or by an automated function of thesystem. Indeed, each axis 292 groups documents 200 in accordance with,for example, a selected tag, category, keyword, document creator, orother attribute 296 that expresses a characterization of one or moredocument(s) 200 and that are configurable to represent intrinsic orextrinsic characteristics. The term “attribute” 296 will generally beused throughout the instant specification to lighten the reading of thetext and will encompass other document properties or means forestablishing commonality or relationships as described above unlessotherwise specified.

Attributes 296 may be user-specified or system-specified. Generally,documents 200 bear a plurality of attributes 296 assigned by one or moreuser(s) (e.g. keyword, subject, project, creator, category, etc.), and aplurality of attributes 296 that are assigned by the system, such as,illustratively, file type, time of creation, number of views, time oflast modification, file size, etc. Given the broad range ofapplicability of the present invention, the attributes 296 that may beassigned by the system and user, as well as the attributes 296 that canbe desirable to use in the management of axes 292 might substantiallyvary from one field or user to another and however remain within thescope of present specification.

The selection of one or more attributes 296 (using Boolean logic forinstance) in a query 230 determines which documents 200 will bedisplayed on the axis 292. If no specific attribute 296 is selected, theaxis 292 will display all documents 200 in a default order, like thedate of creation thereof. Thus, all documents 200 on the same axis 292are normally associated with the selected set or combination ofattributes 296 that are used as parameters for the axis 292. Third-partydata, like publicity or user-targeted information, could also be addedto an axis 292, either arbitrarily or according to user information,filtering and/or existing collation of axes 292 without departing fromthe scope of the present invention.

The documents 200 illustrated in FIG. 6 feature attributes 296individually represented by a capital letter thereon, or none, in whichcase the documents 200 are left blank. Letter attributes 296 are used inthe present application for illustrative purposes only while letterattributes are theoretically possible, more descriptive attributes 296such as those described above are used in embodiments of the presentinvention. As it is shown in FIG. 6, any document 200 can simultaneouslyfeature multiple attributes 296, some user-specified and otherssystem-specified. In fact, a preferred embodiment of the inventionassigns a plurality of attributes 296 to every document 200. Otherdocuments 200 illustrated on FIG. 6 are blank, or without any associatedattribute 296, illustrating documents that could theoretically not beassigned any attribute 296, but that could nonetheless be created andfound in a query 230 (e.g. a query 230 that would select all documents200 contained in the database 32).

The query 230 in FIG. 6 here illustratively filters and selectsdocuments 200 from the database 32 based on attribute 296 ‘A’ fordisplay on the axis 292. FIG. 6 further illustrates that the documents200 selected from the database 32 by the query 230 are placed on theaxis 292 in chronological order 318, another parameter that could bespecified in the query 230. Indeed, an axis 292 also generally disposesthe documents 200 resulting from the query 230 in accordance with aspecified order or collation function 300, (e.g. chronological order,alphabetical order, statistical order, increasing file size, originsnames, etc.). A collation function 300 might include dividing the axis292 into successive collation units 304 (e.g. time units 322 in the caseof a chronological order, which can illustratively be hours, days,months, years, etc.) that can be graphically illustrated with aseparation or separations along the axis 292. A collation function 300would thus dispose each document 200 along the axis 292 according to thevalue of a specified attribute 296 in relation to the collation units304 of the axis 292 and the other documents 200 of the selected documentset 228. Among collation functions 300, a chronological distribution ofdocuments 200 on a time scale 318 is used in most embodiments of ourwork because of its intuitiveness (because any action or event takesplace at a specific time and usually in sequence with other events oractions). Documents are therefore associated with a respective collationposition, optionally in a collation unit. While an axis 292 disposingdocuments in random fashion is also contemplated within the scope of thepresent specification, axes 292 disposing documents 200 according to acollation function 300 are illustrated embodiments because of theusefulness of ordering documents 200.

An axis 292 or a group of axes 310 may be embodied in a linearconfiguration 326 or a non-linear configuration 330. Both configurationsare illustrated in FIG. 7 in a generic example. As can be appreciatedfrom FIG. 7, linear configuration 326 displays collation units 304 ofthe same graphical longitudinal size regardless of the number ofdocuments 200 contained in each collation unit 304. The size of thedocuments 200 located within a given collation unit 304 can optionallybe adjusted in accordance with the number of documents 200 locatedtherein. For instance, documents 200 will be larger if there are fewdocuments 200 in the collation unit 304 and smaller if many documents200 are found therein. Alternatively, the documents 200 can remain thesame size and can overlap, or be stacked, when their quantity exceedsthe available space. Another possible way of making large numbers ofdocuments 200 fit into a fixed-size collation unit 304 is to equip thecollation unit 304 with a scroll bar allowing the user to navigate thecollation unit 304 to reveal hidden documents 200. This also means thatdocuments 200 in a linear configuration 326 may be displayed as anuneven sequence from a graphical point of view. Ultimately, a collationunit 304 in a linear configuration containing no document will appear asempty, or as a blank space on the display 150, but will still be thesame size as the other collation units 304 of the axis 292.

Conversely, the non-linear configuration 330 displays collation units304 of uneven longitudinal sizes because an even distribution ofdocuments 200 along the axis 292 prevails over the linearity of thecollation. In other words, document 200 size and a constant flow ofdocuments 200 along the axis 292 are given primacy over having collationunits 304 of equal graphical size. This provides a more efficient use ofthe space on the axes 292 but may provide less meaning to illustrate anevolution along time.

FIG. 8 illustrate a display area with three axes 292 with multipledocuments 200 thereon. The document 200.1 in axis 292.1 has an activedocument border 364, which is used as a distinction from other documents200 so a viewer may appreciate the location of the active document 336.The active document 336, 200.1 is used to give the user options tointeract with the active document 336 with functions such as “opendocument”, “download document”, “edit document's attributes”, “deletedocument”, etc. for example. Documents 200 may be active and/orselected. In the embodiments, only one document 200 may be consideredactive at a given time, while multiple documents 200 may be consideredselected at a given time. When a document 200 became an active document336, it replaces the previous active document 336. The active document336 may use a border like an active document border 364 to bedistinguishable, but could also use other visual distinctions, such as acoloration, a visual effect or an animation.

In embodiments, the axis 292.1 is considered an active axis 338 since itcontains the active document 336. If another document 200 over anotheraxis 292 is activated, this document 200 will become the new activedocument 336 and its axis 292 will become the new active axis 338. Theactive axis 338 may use a visual effect to be distinguishable, such asbolder borders, a coloration, a coloration, a visual effect or ananimation, for example.

In the embodiments, we use documents 200, but axes 292 are not limitedto the sole use of documents 200, information element may be databaseentries, contact information, web links, notes, log entries, etc.

Still in FIG. 8, one can appreciate the presence of another document200.1 on the axis 292.3, which is another instance of the activedocument 337. A document 200 may be shown in multiple axis 292 at once,each one is described as a different instance of a document 200. In theexample of FIG. 8, the second instance of 200.1 is not considered as theactive document 336. Another occurrence document border 366 may be usedto help the user appreciate that another instance of the active document337 of axis 292.1 is visible in the display area 314. Since axes 292 canbe scrolled, some other instances of the active document 337 may appearin portions of axes 292 not shown on the display area 314 or on otheraxes that may not be visible on the display area 314.

Finally, an aligning tool 340 is exemplary shown at the bottom right ofthe display area. In the current embodiment, the aligning tool 340 isuser-selectable and the user may use a pointing device 142 to enable itsfunctionality. The shape and position of the aligning tool 340 may vary,or the function may be triggered through another way such as a keyboardshortcut, a mouse or touchscreen gesture, a menu option, a vocalcommand, eyes-sight, etc. In our example, the aligning tool 340 is usedto trigger the “centering” functionality, that is one of the embodimentsof the present invention.

FIG. 9 illustrates possible results of a mouse over, or other means toselect the aligning tool 340. In embodiments of the current invention,the aligning tool 340 scrolls, or displaces, the active document 200.1of axis 292.1 along the longitudinal direction of the axis to locate theactive document 200.1 at the center of a viewing area of a display. Theother documents on the axis are also scrolled accordingly along theaxis. One can appreciate the axis scrolling movement indicated by arrow342 of documents 200.1 on the first axis 292.1 while the documents onthe other axes 292.2,292.3 did not move. The movement indicated by arrow342 is representative of an axis 292 scrolling, hence all the documents200 on the axis are translated to the right. For example, document 200.6is still located before the active document 200.1 after the axisscrolling. The axis movement 342 may be animated, for example, byprogressively moving the axis to a final position to help the user getan appreciation of the direction and amplitude of the movement. Also,one can appreciate that the time unit markers 334 have also translatedaccordingly with the scrolling 342 of the first axis 292.1. Theactuation of the aligning tool 340 is illustratively centering theactive document 200.1 of the first axis 292.1 near or at the center ofthe display area 314. The aligning tool 340 could also be positioned atother positions on the display area 314 on the screen. Other locations,such as the left or the right of the display area 314, for instance,could be used as a reference.

FIG. 10 shows another embodiment illustrating that axis 292.3 has ascrolling movement represented by arrow 342 that is an effect of thealignment function described above. The alignment function can betriggered in multiple ways, such as a keyboard shortcut, a mouse, atouchscreen gesture, a 3D movement, a menu option selection, a vocalcommand, etc. In the embodied example, the alignment function istriggered when the user activates the aligning tool 340 a second time.When this selection is made, the system detects that the active document336, 200.1 of the axis 292.1 is already centered longitudinally on thedisplay area 314 therefore triggering the centering function a secondtime is not useful. Alternatively, the second activation of thealignment function may trigger the alignment function as anotherfunction of the aligning tool 340. In this embodiment, the effect wouldalign all the other occurrences of the active document 336, 200.1longitudinally (horizontally in the present situation) at the center ofthe display area 314 in vertical alignment with the active document 336to be easily retrieved in a graphical fashion. The alignment can be doneprogrammatically through an axis scrolling movement 342 of the axis292.3. In this embodiment, the axis 292.2 was not affected by thealignment function because no other occurrence of document 200.1 wasfound.

The alignment function can help the user see or retrieve other instancesof the active documents 336 present on other axes 292. It can alsolongitudinally align and vertically superpose other axes 292 where noinstance of the active document 336 is found. In such axes 292 which,the longitudinal alignment could be done to vertically superpose thelocation along the axis representing the time where the active document336 would be longitudinally aligned (horizontally in the presentsituation). By the effect of a collation function 300, the documents 200may be chronologically sorted over an axis 292. Other collationfunctions are encompassed by the present application. By example, inFIG. 11, documents 200.4, 200.5 have incidence in time before and afterthe timely location of document 200.1. One can conceive that on theabsence of another instance of the document 336 along the axis 292.2,knowing the location where the other instance of the document 336 wouldhave been along the axis 292.2 could be useful. For example, the firstaxis 292.1 may show the activity of a first employee, while the secondaxis 292.2 may show the activity of a second employee. The user may wantto see documents representing activities of the second employee at thesame insertion time of the active document 336. This is shown in FIG. 11where the alignment function would have affected the axis 292.2 byapplying an axis scrolling movement 342 over it. One can appreciate howdocuments 200.2 and 200.3 are now located near a perpendicular alignmentcolumn 362 that will be described in further details below. This isbecause document 200.2 has been inserted before the insertion time ofdocument 200.1 and document 200.3 was inserted after the insertion timeof document 200.1. In the present situation, documents 200.2, 200.3 havebeen inserted in two different days, a time unit separator 334 isvisible in-between.

Another embodiment is shown in FIG. 11, instead of a perpendicularalignment line 360 (illustrated in FIG. 10), the system can display aperpendicular alignment column 362, illustratively bordered by a pair ofperpendicular and parallel borders 370 and define a width on the displayarea 314, to let the user see the alignment of document 200.1 anddiscriminate easily axis 292.2 where the active document 336, 200.1 isabsent. By example, documents 200.2 and 200.3 on axis 292.2 aretransversally aligned with document 200.1, letting the user know thatthe time or sequential order of document 200.1 is situated afterdocument 200.2 and before document 200.3. If document 200.1 was matchingthe query of axis 292.2, it would have been located between document200.2 and document 200.3. This document location can be easier tounderstand for the user when displaying an alignment column 362, or thelike providing similar meaning.

FIG. 12 is a flowchart, starting at the centering button activated step800, and representing an illustrative behavior of the aligning tool.This flowchart will be using a variable A. A variable is a symbolic namereferring to a value which may change during the processing of theflowchart. The variable A will get the values of different axes 292present alongside with the active axis 338. The first step 802 is todetermine if the active document 336 is already centered on its own axis292. If it is not the case, the centering function is used in step 804,where the axis 292 gets scrolled so the active document 336 getscentered on the display area 314 and the flowchart ends at step 816. Ifthe active document 336 was already centered, step 806 serves as a loopover each other axes. Variable A gets the value of each axis 292 otherthan the axis of the active document 336. In step 808, a test is done tosee if there is an instance of the active document 337. If an instanceof the active document 337 is found, step 810 programmatically scrollsaxis 292 stored in variable A. This instance of the active document 337should be longitudinally aligned at the center of the display area 314along with the active document 336. If no instance of the activedocument 336 is found in the axis 292 stored in the variable A, step 812sets a search over documents of the axis 292 stored in the variable A.This search look for the first document where the time is greater orequal than the one of the active document 336. This search can be doneefficiently with the use of a binary search algorithm, by example. Instep 814, the axis 292 of variable A is scrolled at the middle betweenthe first document greater or equal to the active document 336, and itsprevious document. Steps 808-814 are executed again on all axes 292stored in variable A, until they were all aligned. Then the test at step806 would fail and the algorithm stops at step 816.

The triggering of the centering function and aligning function can bedone by the user enabling the aligning tool 340 different number oftimes. In an alternate and unillustrated embodiment, the system maytrigger the centering and/or aligning function automatically based on,illustratively, the use of another function or each time a document 200is set as the active document 336.

Another embodiment is shown in FIG. 13, where, as a result of anactivation of the aligning tool 340, axes 292.3 and 292.2 have beeninterchanged to accentuate the presence of document 200.1 on axis 292.3.The axis 292.2 has been moved farther from the active axis 292.1 sincedocument 200.1 is absent from axis 292.2. This axis reordering functioncan be triggered at a same time as the alignment function, or as a thirdenablement action on the aligning tool 340. The axis reordering movementillustrated by arrow 348 can be animated to let the user understand thata reordering is happening. In an alternative but unillustratedembodiment, the axes 292 reordering function may move the axis 292.1,displaying the active document 200.1, at the top of the display area 314or at the center of the display area 314 but can also leave its verticalposition unchanged. If so, the reordering of the axes 292 may be made atthe top of the active axis 292.1, 338 or at the bottom of the activeaxis 292.1. In this case, all upper axes 292 with an instance of theactive document 337, 200.1 thereon are moved toward the bottom of thedisplay area 314 before the active axis 338, and all lower axes 292 withan instance of the active document 337, 200.1 are moved up next to theactive axis 292.1.

FIG. 14 and FIG. 15 are similar flowcharts demonstrating the logic ofthe axes reordering function. The flowchart of FIG. 14 is used toreorder the axes 292 above the active axis 338 and the flowchart of FIG.15 is used to reorder the axes under the active axis 338. When using theaxes reordering function, the two flowcharts may be used.

The flowchart of FIG. 14 will be using variables A and P. A variable isa symbolic name referring to a value which may change during theprocessing of the flowchart. The variable A will get the values ofdifferent axes 292 present before the active axis 338. The variable P isreferring to the position of an axis 292. Variable P can be an integer,or a memory pointer (a stored memory address) that indicates theposition an axis 292. The flowchart starts at step 820. The step 822 isto locate the previous axis 292, and stock its position in variable P.Step 824 starts a loop over all the axes 292 above the active axis 338and store them in variable A. For example, if the active axis 338 isdisplayed in fourth position from the top, the iteration of axes 292 invariable A could be done in this order: third axis 292.3, second axis292.2 and first axis 292.1. If no previous axis 292 is found, thevariable A is set to a null value, and step 826 tests either if variableA is null and stops the reordering function if so with step 834. Step828 tests if there is an instance of the active document 337 in the axis292 of variable A. If not, the test is done on the next axis 292 byreturning to step 824. In a case where an instance of the activedocument 337 is found in axis 292 of the variable A, step 830 moves theaxis 292 of the variable A to the next position of variable P and shiftsother axes 292 above. For example, if the fourth axis 292 is the activeaxis 338 and the second axis 292 has an instance of the active document337 and the variable P was the position of the third axis 292, then thesecond axis 292.2 would be moved at the third position. And thepreviously third axis would be shifted at the second position. Finally,step 832 decrements the variable P. If the variable P has the third axis292 position value, decrementing would have the effect to set thevariable P to the second axis 292 position. And the next axis 292 isselected at step 824, continuing the loop until each axis 292 above theactive axis 338 was checked or reordered.

The flowchart of FIG. 15 will be using variables A and P. A variable isa symbolic name referring to a value which may change during theprocessing illustrated in the flowchart. Variable A will get the valuesof different axes 292 present before the active axis 338. The variable Pis referring to the position of an axis 292. Variable P can be aninteger, or a memory pointer (a stored memory address) that indicatesthe position an axis 292. The flowchart starts at step 840. The step 842is to locate the previous axis 292, and stock its position in variableP. Step 844 starts a loop over all the axes 292 below the active axis338 and store them in variable A. For instance, if the active axis 338is in the third position, the iteration of axes 292 in variable A couldbe done in this order: fourth axis 292, fifth axis 292, sixth axis 292,and so on. If no next axis 292 is found, the variable A is set to a nullvalue, and step 846 tests either if variable A is null and stops thereordering function if so with step 854. Step 848 tests if there is aninstance of the active document 337 in the axis 292 of the variable A.If not, the test is done on the next axis 292 by returning to step 844.In the case where an instance of the active document 337 is found inaxis 292 of the variable A, step 850 moves the axis 292 of the variableA to the next position of variable P and shift other axes 292 below. Forexample, if the third axis 292 is the active axis 338 and the fifth axis292 has an instance of the active document 337 and the variable P wasthe position of the fourth axis 292, then the fifth axis 292 would bemoved at the fourth position. And the previously fourth axis would beshifted at the fifth position. Finally, step 852 increments the variableP. If the variable P has the third axis 292 position value, decrementingwould have the effect to set the variable P to the fourth axis 292position. And the next axis 292 is selected at step 844, continuing theloop until each axis 292 below the active axis 338 was checked orreordered.

FIGS. 16 and 17 show an alternate embodiment where the centeringfunction is enabled with an activation of the aligning tool 340 withoutprior enablement of the axes aligning function. In FIG. 16, the activedocument 336, 200.1 is shown in the axis 292.1 slightly before the rightedge of the display area 314. FIG. 17 illustrates the effect of theclick on the aligning tool 340 with only the alignment function enabled.One can appreciate how axes gets scrolled through scrolling alignedrelatively to the active document horizontal location, instead of at thecenter of the display area 314. The perpendicular alignment line 360 isnow showing at the right side of the display area 314. In this alternateembodiment, a second click of the aligning tool 340 may trigger thecentering function on every axes 292.

From FIG. 18, the next figures omit illustrating the display area 314for more clarity, but it should be considered that the interactive axes292 and their documents 200 are displayed typically on a display area314 or other alternative display limits set within the display area 314.

Moving now to FIG. 18 showing an embodiment providing a functionalityadapted to lock an axis 292 so it won't be affected by the alignmentfunction. Axis 292.3 has an axis movement lock tool 350. This can be setby the system under certain conditions or by the user through, forinstance, a menu selection, a keyboard shortcut, a mouse, a gesture,etc. When an active axis 338 is locked, it can respond to the centeringfunction. But, when a non-active axis 292 is locked, the alignmentfunction won't affect the position of the axis 292. For example, in FIG.18, the document 200.1 of axis 292.1 is the active document 336, and thesecond instance of the active document 337 in the axis 292.2 is alreadyaligned with the active document 336. This may be a consequence of theuse of the alignment function. The third instance of the active document337 on the axis 292.3 is not aligned with the others axes 292. Since theaxis 292.3 is considered locked, triggering the alignment function byactivating the aligning tool 340 would not initiate any scrolling axismovement 342 (not shown in FIG. 18) on the locked axis 292.3.

Another similar functionality is shown in FIG. 19. The axes 292.1 and292.2 have axes movement (displacement) link icons 352 thereon to allowan auto-alignment function. This can be set by the system under certainconditions, or by the user through a menu, keyboard shortcut, a mouse, agesture, etc. When two or more axes 292 have the movement (displacement)link icon 352, their scrolling are automatically synchronized.

FIG. 20 shows the result of a user scrolling axis movement 354 on theaxis 292.1 where the axis 292.2 may automatically scrolls through anequivalent scrolling axis movement identified by arrow 342 so the twoinstances of the active documents 337, 200.1 in axes 292.1 and 292.2 arekept aligned. One can appreciate that the axis 292.3 remains unchangedsince there is no movement link icon 352 on axis 292.3. The third axis292.3 could be aligned with the others axes 292.1 and 292.2 through theactivation of the aligning tool 340.

FIG. 21 shows the result of an activation of document 200.2. It means,in FIG. 21, that document 200.2 is now considered to be the activedocument 336. This happened while axes 292.1 and 292.2 were still linkedwith the auto-alignment function. One can appreciate how the documents200.1 are now unaligned. The axis 292.2 was automatically scrolledthrough a scrolling axis movement 342 to align the location betweendocuments 200.3 and 200.4 at the middle of the longitudinal location ofactive document 200.2. This happens because an instance of the activedocument 337, 200.2 is absent from axis 292.2 and, as an effect of theauto-alignment function, the axes 192 aligned location shows a portionof the axis chronological order where active document 336, 200.2 isfound, between the time of documents 200.3 and of document 200.4. Aperpendicular alignment line 360 can be shown to indicate that analignment of axes 292 has been automatically performed. One canappreciate that the axis 292.3 remains unchanged since there is nomovement link icon 352 on axis 292.3. The third axis 292.3 could bealigned through the activation of the aligning tool 340. The third axis292.3 could be aligned with the others axes 292.1 and 292.2 through theclick on the aligning tool 340.

FIG. 22 shows another embodiment when an instance of the active document337, 200.1 is not visible in the display area 314 (not shown in FIG. 22,but the edges of the figure may be considered as the limits of theviewport of the display area 314). A user-selectable tool,illustratively an arrow tool 346 is shown next to associated axis 292.2,identifying the direction of the axis 292.2 to displace another instanceof the active document 200.1. The arrow tool 346 is reacting toactivation provided by a pointing device 142 (not shown in Figure) butcould also react to other means like keyboard shortcuts or bodygestures. When activated, this triggers the aligning function on theaxis 292.2 to which the user-clickable arrow 346 is associated, tolongitudinally align (horizontally) the other instances of the activedocument 337, 200.1 on the axis 292.2 with the active document 336,200.1 of the axis 292.1 through a longitudinal axis scrolling movement342 (not shown in Figure). Alternatively, the user could still use thealigning tool 340 to center and/or align active documents 336, 200.1 andaxes 292 automatically. Once the active document 336, 200.1 of axis292.2 is visible in the display area 314, the user-clickable arrow 346may disappear.

FIG. 23 shows another example of different uses of arrow tools 346. Inthis example, the active document 336 is shown in the axis 292.1, andanother instance of the active document 337 is aligned and shown in theaxis 292.2. Axis 292.2 may include multiple instances of the activedocument 337 on the same axis 292.2, and thus multiple arrow tools 346.1and 346.2 indicate to the user directions of other documents. In thisexample, there is one instance of the active document 337 before thevisible portion of axis 292.2 and four instances of the active document337 after the visible portion of the axis 292.2. The respective numberof instances may be written on the arrow tools 346.1 and 346.2. No arrowtool 346 is shown over axis 292.3. This indicates, in the illustrativeembodiment, that no instance of the active document 337 is comprised inaxis 292.3. Triggering the event the arrow tool 346.2 scrolls the axis292.2 to the next instance of the active document 337. Doing so, theaxis 292.2 could show arrow tools 346 indicating that there are twoinstances of the active document 337 at left and three instances of theactive document 337 at the right of the view port of the display area314. Note that the tool 346 is illustratively using an arrow shape andother means, shape or form can be used without departing from the scopeof the present application.

Still in FIG. 23, a third arrow tool 346.3 is visible at the bottom ofthe display area 314 (not shown in Figure, but the edges of the figuremay be considered as the limits of the viewport of the display area 314)and this one is directed to the bottom of the display area 314. Thisindicates that two instances of the active document 337 may be found insome axes 292 below 292.3 which are not visible in the display area 314.Clicking on this may scroll vertically to a vertical location where thefirst axis 292 with an instance of the active document 337 is shown inthe display area 314.

FIG. 24 shows an axis 292.1 and a group 310 of axes 292.2 and 292.3.When two or more axes 292 are merged into a group 310, they share a sametimeline. In the illustrated example, all axes 292 have one visibleinstance of the active document 337. The instances of the activedocument 337 in group 310 are showing in the same time unit t28, itcould mean they are considered the same day. In axis 292.2, there is adocument 200.2 that is considered inserted before document 200.1. Inthis embodiment, the instance of the active document 337 of axis 292.3is aligned at left because the groups 310 may be more compact if alldocuments in time units 322 are appearing sequentially from left toright.

Moving to FIG. 25, it shows the effect of the aligning tool 340 wherethe instance of the active document 337 of the axis 292.3 is alignedwith the active document 336. An alignment with the second instance ofthe active document 337 on axis 292.2 could have also been possible. Inthis embodiment, the first horizontal instance of the active document200.1 is chosen. Subsequent triggering of the alignment function of thealigning tool 340 iterates between different aligned position of thegroup 310.

FIG. 26 illustrates an alternate embodiment where the groups 310 alignhorizontally the same instances of documents 200 in their time units322. For example, documents 200.1, 200.2 and 200.3 are longitudinallyaligned in their time units because they are instances of the samedocuments 200. Documents 200.4 and 200.5 are not aligned with otherinstances of the same documents 200 because they are only visible onaxis 292.2. This is also the case for documents 200.6 and 200.7 whichare only visible on axis 292.3. This provides visualization advantagesfor a viewer. One can appreciate, for instance. how empty documentspaces in group 310 are providing additional information about thetimely ordering of documents 200 to display which document 200 is timedbefore or after another in a time unit t. It also helps solving theactive document 200.1 alignment issue when triggering the alignmentfunction.

FIG. 27 shows another situation where an instance of the active document337 is shown on the axis 292.2 outside of the display area 314 (notshown in FIG. 27, but the edges of the figure may be considered as thelimits of the viewport of the display area 314). Even the groups 310 ofaxes 292.2 and 292.3 may be sharing a same timeline, the differentinstances of a same document 200 may be in different time units 322.This may happen, for example, if the other instance of the activedocument 337 is shown in a subsidiary array linked on another document200 with a different date. It may also happen if the axes 292.2 and292.3 use different time sorting attributes as collation function 300(not shown in FIG. 27). For instance, the documents 200 on axis 292.2could be sorted by insertion date while the axis 292.3 could be sortedby last modification date. The arrow tool 346 indicates the presence ofthe other instance of the active document 337 on the axis 292.2 outsideof the display area 314 (not shown in Figure, but the edges of thefigure may be considered as the limits of the viewport of the displayarea 314).

FIG. 28 illustrates how two documents may have a link between them. Thislink may be expressed through an attribute. The document 200.6 can belinked to another document 200.7 through an attribute or a relationtherebetween. An attribute 296 (not shown in FIG. 28) can have severaltypes, like, for instance, a Boolean value, a string value, a uniquedocument identifier or an address to another document. Two documents 200may be considered as linked if at least one attribute associated withone of the two documents 200 has a value linked to the other document200. For example, document 200.6 may be a published patent documentbeing linked to a document 200.7 which is a patent application artdocument. The document 200.6 may have a “Patent Application” attribute296 (not shown in FIG. 28) which value is a unique identifier ofdocument 200.7.

FIG. 29 shows an alternate embodiment where two axes 292 of documents200, where the documents 200 of the first axis 292 represent publishedpatent arts and the documents 200 of the second axis 292 representpublished patent application art documents, as described in their axisheader title 302. The axes 292 may be used by a user to explore patentart documents related to a prior art searching. In such a search, thepatent application art documents of the published patent art documentsmay be found in the same search result. In the current example, thedocument 200.6 may be a published patent art document while document200.7 may be a patent application art document. The published patent artdocument 200.6 was made active by an action of the user or a function ofthe system. The document 200.7 may have a special border, or visualdistinctive feature 284, to let the user know it is a related documentto the active published art document 200.6. In this embodiment, whenusing the aligning tool 340, the alignment function could align arelated document 200.7 instead of instances of the active document200.6. Also, the user may appreciate the two arrow tools 346illustrating the presence of related documents to 200.6 and 200.7 in theaxis. For example, it could be other publication of the patentapplication art with different kind codes, such as A1, A2 and A3.

FIG. 30 describes another embodiment of the present invention when usingthe alignment function of the aligning tool 340 with instances of theactive document 337 on a vertical subsidiary axis 294.1. Axis 292.2 isattached to a vertical subsidiary axis 294.1, through a pivot document200.8. The pivot document 200.8 is a document that is both member on theaxis 292.2 and its vertical subsidiary axis 294.1. The pivot document200.8 represents the logical connector between the axis 292.2 and itssubsidiary axis 294.1. This special status of document 200.8 isgraphically discriminated by subsidiary axis connector visualdistinctive features 298. This let the user knows which document is thelogical connector between the axis 292.2 and its vertical subsidiaryaxis 294.1. In the same way that axes 292 on distinct axes groups 310(not shown in Figure) can be moved independently one from another, thevertical subsidiary axis 294.1 can be moved vertically 344 from theother horizontal axes 292, thus implying the pertinence of having asubsidiary axis connector visual distinctive feature 298. When movingthe axis 292.2 horizontally, the horizontal position of the verticalsubsidiary axis 294.1 is also adjusted since they are connected.

When triggering the alignment function with the activation of thealigning tool 340, vertical subsidiary axes 294 may be affected by thealignment. In FIG. 30, the instance of the active document 337 ofsubsidiary axis 294.1 is horizontally contiguous to the active document336, and is vertically aligned to the active document 336. Thesehorizontal and vertical conditions may be the effect of the alignmentfunction, the vertical position may have been adjusted programmaticallythrough a vertical axis scrolling movement 342 (not shown in Figure) ofthe vertical subsidiary axis 294.1 and the horizontal position may havebeen adjusted through a horizontal axis scrolling movement 342 (notshown in Figure) of the horizontal axis 292.2 thus affecting thehorizontal position of the vertical subsidiary axis 294.1. Thehorizontal position is adjusted to bring the instance of the activedocument 337 of the vertical subsidiary axis 294.1 contiguous to theactive document 336, so the user may easily appreciate the otherpositioning of the other instance of the active document 337 withouthaving an overlap of the two instances of the document 200.1.

The axis 292.2 which is the parent of its vertical subsidiary axis294.1, it may also contain another instance of the active document 337.If so, its instance may be shown in priority, or an arrow tools 346 (notshown in Figure) may be shown to navigate between instances and verticalsubsidiary axes 294 having an instance of the active document 337.

FIG. 31 describes another embodiment where the active document 336 is ona subsidiary vertical axis 294.1. The subsidiary vertical axis 294.1parent is the horizontal axis 292.2. Using the alignment function of thealigning tool 340, the position of the instance of the active document337 of axis 292.1 is made horizontally contiguous to the active document336 and is vertically aligned to the active document 337 of the verticalsubsidiary axis 294.1. These horizontal and vertical conditions may bethe effect of the alignment function, the vertical position of thesubsidiary axis 294.1 may have been adjusted through a vertical axisscrolling movement 342 (not shown in Figure) of the vertical subsidiaryaxis 294.1 in order to be align vertically the two instances of thedocument 200.1. And the horizontal position of the instance of theactive document 337 of the horizontal axis 292.1 may be the effect of ahorizontal axis scrolling movement 342 (not shown in Figure) of thehorizontal axis 292.1. The horizontal position of the instance of theactive document 337 of the axis 292.1 is adjusted to be contiguous tothe instance of the active document 336. This let the user know whichother instance of the active document 337 without having an overlap withthe active document 336.

FIG. 32 shows two windows 316.1 and 316.2 containing axes 292.1 and292.2. The windows may be components of a graphical user interface 234(not shown in Figure) provided by an operating 135 (not shown inFigure), but is not limited to, since an application may also show subwindows within the display area 314 (not shown in Figure, but the edgesof the figure may be considered as the limits of the viewport of thedisplay area 314). Each window 316 have a window header 320.1 and 320.2.The first window header 320.1 may have emphasis so the user knows thatits attached windows 316.1 is the active window. In the embodiedexample, each window has exactly one axis 292, but they may contain moreaxes 292 and even groups of axes 310. Each window may have a distinctaligning tool 340 giving the user possibility to use the centering andalignment function on each window. The user may have access to aninter-window alignment function. This function may be used when a thirdclick is performed on the aligning tool 340. When the inter-windowalignment function is triggered, other instance of the active document337 on axes from other windows 316.

FIG. 33 shows the result of the inter-window alignment function, wherethe two instances of the active document 200.1 are horizontally aligned.One can appreciate that the second window 316.2 has even moved to becentered relatively to the first window 316.1 and the two windows 316.1and 316.2 are vertically stick one to the other. This may be anothereffect of the inter-window alignment function. A perpendicular alignmentline 360 may be shown to let the user know different instances of theactive document 200.1 are aligned, this can be shown inside the windows316 or over the window if the windowing system of the graphical userinterface 234 (not shown in Figure) provided by an operating 135 (notshown in Figure) is permitting it.

The description and the drawings that are presented above are meant tobe illustrative of the present invention. They are not meant to belimiting of the scope of the present invention. Modifications to theembodiments described may be made without departing from the presentinvention, the scope of which is defined by the following claims:

What is claimed is:
 1. A method of aligning axes of informationelements, the method comprising: displaying a plurality of informationelements along a first axis including a first axial direction thereof,the first plurality of information elements having a first commonalitythereof; displaying a second plurality of information elements along asecond axis including a second axial direction thereof, the secondplurality of information elements having a second commonality thereof,the first axis displaying a first document thereon, the second axisincluding the first information element thereon, the first informationelement on the second axis being not aligned with the first informationelement displayed on the first axis; and displacing at least one of thefirst axis of information elements and the second axis of informationelements to display the first information element from the first axis ofinformation elements adjacent to the first information element from thesecond axis of information elements.
 2. The method of aligning axes ofinformation elements of claim 1, wherein at least some of theinformation elements are documents.
 3. The method of aligning axes ofinformation elements of claim 1, wherein at least some of theinformation elements are user-selectable.
 4. The method of aligning axesof information elements of claim 1, wherein the first axis ofinformation elements and the second axis of information elements areparallel.
 5. The method of aligning axes of information elements ofclaim 1, wherein the first axis of information elements and the secondaxis of information elements are perpendicular.
 6. A method ofretrieving multiple copies of an information element on a display, themethod comprising: displaying a plurality of information elements alonga first axis including a first axial direction thereof; displaying asecond plurality of information elements along a second axis including asecond axial direction thereof parallel with the second direction, thefirst axis displaying a first information element thereon, the secondaxis including the first information element thereon, the firstinformation element on the second axis being not transversally alignedwith the first information element displayed on the first axis; anddisplacing at least one of the first axis of information elements andthe second axis of information elements to display the first informationelement from the first axis of information elements adjacent to thefirst information element from the second axis of information elements.7. A method of performing a relational search, the method comprising:providing a first axis including a plurality of information elementslocated thereon in accordance with a first collation function, eachinformation element being associated with a respective collationposition along a longitudinal direction of the first axis; providing asecond axis including a plurality of information elements locatedthereon in accordance with a second collation function, each informationelement being associated with a respective collation position, eachinformation element being associated with a respective collationposition along a longitudinal direction of the first axis; selecting aninformation element from the first axis; enabling an aligning function;searching the second axis for a presence of an instance of the selectedinformation element; when an instance of the selected informationelement is found on the second axis, scrolling the second axis to locatethe instance of the selected information element nearby the selectedinformation element on the first axis.
 8. The method of performing arelational search of claim 7, wherein the first collation function is afirst chronological order and the second collation function is a secondchronological order.
 9. The method of performing a relational search ofclaim 7, wherein a collation position of the instance of the selectedinformation element is substantially aligned with a collation positionof the selected information element.
 10. The method of performing arelational search of claim 9, wherein the alignment is about a center ofa display area.
 11. The method of performing a relational search ofclaim 7, wherein the selected information element and the instance ofthe selected information element are substantially aligned with analignment line.
 12. The method of performing a relational search ofclaim 7, wherein the first axis is parallel with the second axis. 13.The method of performing a relational search of claim 7, wherein thescrolling is progressive.
 14. The method of performing a relationalsearch of claim 7, wherein the first axis is scrollable independentlyfrom the second axis.
 15. The method of performing a relational searchof claim 7, wherein the selected information element includes a visualdistinctive feature.
 16. The method of performing a relational search ofclaim 7, wherein the instance of the selected information elementincludes a visual distinctive feature.
 17. The method of performing arelational search of claim 7, wherein other information elements on thefirst axis and the second axis sharing a commonality are aligned. 18.The method of performing a relational search of claim 7, wherein atleast some of the information elements are thumbnails.
 19. The method ofperforming a relational search of claim 7, wherein at least some of theinformation elements are user-selectable.